#include <stdio.h>
#include <string.h>

// 文件拷贝
void file_cpy(const char *dest,const char *src)
{
    // =================== 打开文件 ===================
    FILE * fp_dest = fopen( dest , "w+");
    FILE * fp_src = fopen( src , "r");

    char ch = 0;
/*
文件的结束符 EOF
EOF != (ch = fgetc(fp_src))
1、ch = fgetc(fp_src)
2、EOF != ch

if(NULL == (ptr_1 = ptr_2))
1、ptr_1 = ptr_2
2、NULL == ptr_1

fgetc 和 fputc 在读取和写入的时候会对文件的光标进行移动

*/
    for (int i = 0; EOF != (ch = fgetc(fp_src)) ; i++)
    {
        fputc(ch , fp_dest);
    }
    // =================== 关闭文件 ===================
    fclose(fp_dest);
    fclose(fp_src);
    
}
/*
argc 参数个数 == > 从1 开始计数
argv 参数内容
./a.out hello.txt zhangsna.txts
argv[0] == ./a.out
argv[1] == hello.txt
argv[2] == zhangsna.txt
*/
int main(int argc, char const *argv[])
{

    printf("hello\n");
    if (3 == argc)
    {
        // 将文件名传入 函数
        printf("%s %s\n" , argv[1] , argv[2]);
        // file_cpy( argv[1] , argv[2] );
    }
    else
    {
        // 运行程序 不规范
        printf("请按照格式运行程序 %s dest src\n" , argv[0]);
    }
    
    return 0;
    
}

/*
fclose(stdout);
fclose(stdin);
fclose(stderr);
*/